Digital waveform drawing is a technique that is utilized to display data, for example measurements related to the performance of a system, over a period of time. The technique involves digitally plotting pixels, which correspond to the data, in a waveform on a screen of a display.
It is often desirable to continuously display data received over several periods of time. However, the screen of the display is limited in size and after a waveform has been displayed for a certain period of time, the waveform has to be replaced to reflect the data received from a subsequent period of time.
Software programs are utilized to determine which pixels should be digitally plotted, such that the data appears on the screen of a display as part of a continuous waveform. However, processors, which perform the numerous, complex and involved logical and arithmetic operations required by the software programs to determine what pixels should be plotted, tend to operate significantly faster than the display screen can respond. The difference in speed between the processor and the response rate of the display may cause screen flicker to occur.
Screen flicker refers to the phenomenon that occurs whereby the screen of a display appears to flicker during the process of erasing an existing waveform on the screen and drawing the next waveform on the display screen.
One conventional method of waveform drawing involves creating a blank display area by erasing either the image on the screen or the full display screen, and drawing the next image to be displayed. A technique referred to as page flipping or background display buffering is sometimes utilized to reduce screen flicker. Page flipping involves storing the image being processed in a buffer while the waveform on the display is being shown, and displaying the next waveform from the buffer after it has been fully created.
However, independent of whether the conventional method of waveform drawing is employed alone, or in conjunction with page flipping, the process of creating a blank display area can slow down animation operations, and result in redundant plotting of pixels.
Accordingly, it would be desirable to provide a method of waveform drawing that may avoid the redundant plotting of pixels, and increase the speed of animation operations. It would also be desirable to provide a method of waveform drawing that may avoid a significant number of complex logical and arithmetic operations.